package cn.wolfcode.rbac.mapper;

import cn.wolfcode.rbac.domain.Customer;
import cn.wolfcode.rbac.domain.Department;
import cn.wolfcode.rbac.query.QueryObject;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public abstract interface CustomerMapper {
    public abstract int deleteByPrimaryKey(Long paramLong);

    public abstract int insert(Customer customer);

    public abstract Customer selectByPrimaryKey(Long paramLong);

    public abstract List<Customer> selectAll();

    public abstract int updateByPrimaryKey(Customer customer);

    public abstract int selectForCount(QueryObject paramQueryObject);

    public abstract List<Customer> selectForList(QueryObject paramQueryObject);

    public abstract List<Customer> selectForList0(QueryObject paramQueryObject);

    public abstract List<Customer> selectForList1(QueryObject paramQueryObject);

    public abstract List<Customer> selectForList2(QueryObject paramQueryObject);

    public abstract List<Customer> selectForList3(QueryObject paramQueryObject);

    public abstract List<Customer> selectForList4(QueryObject paramQueryObject);

    public abstract void updateStatus(@Param("customerId") Long customerId, @Param("status") Integer status);

    public abstract String selectCustomerName(@Param("customerId") Long customerId);

    public abstract String selectSellerName(@Param("customerId") Long customerId);

    public abstract void updateSeller(@Param("customerId") Long customerId, @Param("sellerId") Long SellerId);
}
